Inside Macintosh: Files

Previous | Chapter Top | Chapter Contents | Next

Exchanging the Data in Two Files

The function FSpExchangeFiles allows you to exchange the data in two files.

FSpExchangeFiles

You can use the FSpExchangeFiles function to exchange the data stored in two files on the same volume.

FUNCTION FSpExchangeFiles (source: FSSpec; dest: FSSpec): OSErr;
source
The source file. The contents of this file and its file information are placed in the file specified by the dest parameter.
dest
The destination file. The contents of this file and its file information are placed in the file specified by the source parameter.

DESCRIPTION

The FSpExchangeFiles function swaps the data in two files by changing the information in the volume's catalog and, if the files are open, in the file control blocks. You should use FSpExchangeFiles when updating an existing file, so that the file ID remains valid in case the file is being tracked through its file ID. The FSpExchangeFiles function changes the fields in the catalog entries that record the location of the data and the modification dates. It swaps both the data forks and the resource forks.

The FSpExchangeFiles function works on both open and closed files. If either file is open, FSpExchangeFiles updates any file control blocks associated with the file. Exchanging the contents of two files requires essentially the same access permissions as opening both files for writing.

The files whose data is to be exchanged must both reside on the same volume. If they do not, FSpExchangeFiles returns the result code diffVolErr .

RESULT CODES

noErr

0

No error

nsvErr

-35

Volume not found

ioErr

-36

I/O error

fnfErr

-43

File not found

fLckdErr

-45

File is locked

vLckdErr

-46

Volume is locked or read-only

paramErr

-50

Function not supported by volume

volOfflinErr

-53

Volume is offline

wrgVolTypErr

-123

Not an HFS volume

diffVolErr

-1303

Files on different volumes

afpAccessDenied

-5000

User does not have the correct access

afpObjectTypeErr

-5025

Object is a directory, not a file

afpSameObjectErr

-5038

Source and destination files are the same


© 1997 Apple Computer, Inc.

Previous | Chapter Top | Chapter Contents | Next